import {reqCategoryList,reqBannerList,reqFloorList} from '../../api'

// actions: 处理异步，书写业务逻辑
const actions = {
	//这里可以书写业务逻辑，但是不要修改state数据
	//async 是 ES7 才有的与异步操作有关的关键字
	//async 函数执行时，如果遇到 await 就会先暂停执行 ，
	//等到触发的异步操作完成后，恢复 async 函数的执行并返回解析值。
	async cateoryList({commit}){
		let result = await reqCategoryList()
		if(result.code == 200){
			commit('CategoryList',result.data)
			// console.log('异步请求了')
		}
	},
	
	//请求banner数据
	async getBannerList({commit}){
		let result = await reqBannerList()
		if(result.code == 200){
			commit('BannerList',result.data)
			// console.log('异步请求了')
		}
	},
	//请求floor数据
	async getFloorList({commit}){
		let result = await reqFloorList()
		if(result.code == 200){
			commit('FoolerList',result.data)
			// console.log(result.data)
		}
	}
	
	
};

// mutations:修改state
const mutations = {
	CategoryList(state,categoryList){
		state.categoryList = categoryList
	},
	BannerList(state,bannerList){
		state.bannerList = bannerList
	},
	FoolerList(state,floorList){
		// console.log(111,state)
		state.floorList = floorList
	}
	
};

//state:存储数据的地方
const state = {
	//这里的数据类型是根据服务器返回的数据类型而定的
	categoryList:[],
	bannerList:[],
	floorList:[]
};

// getters：简化数据
const getters = {};

//对外暴露Store实例
export default{
	state,
	mutations,
	actions,
	getters
}
